home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / AMIGA / AMICUS / AMICUS16.ADF / C / Gen / ReadMe.DOC < prev    next >
Text File  |  1989-01-27  |  3KB  |  105 lines

  1.  
  2.         THE TOOLS    (C) 1986 - Scott Evernden
  3.         =========    =========================
  4.  
  5. I'm tired of having listings of the Amiga header files cluttering up
  6. my environment.  I wrote a program to look up header file symbols,
  7. data structure names, and other definitions for me.  Now, if I forget
  8. what the fields are in a `struct NewWindow', I can get my Amiga to
  9. locate and list the definition for me, in mere seconds!
  10.  
  11. Using the tools supplied here, you can finally put those bothersome
  12. header file listings away.
  13.         
  14. A number of files are included to assist the Amiga programmer.
  15.  
  16. 1. gen symFile
  17.     Generates the file `symFile' from a supplied list of
  18.     Amiga header filenames.  Each ".h" file is scanned to
  19.     locate #defines, typedefs, and struct/union tags.
  20.     Information necessary in allowing the reader program to
  21.     locate symbols is produced.
  22.  
  23. 2. read symFile
  24.     Allows quick lookup of any Amiga header file symbols.
  25.     You enter an interactive mode where you are prompted
  26.     for a symbol, and the program looks up the definition
  27.     for you.
  28.  
  29. 3. all
  30.     A data file consisting of a list of all the Amiga v1.1
  31.     header filenames, as on the Manx C developer disk.
  32.  
  33. How to use:
  34. -----------
  35. Edit the file `all' to your requirements.  To build your symbol index:
  36.  
  37.     $ gen <all total
  38.  
  39. Each header file will be examined.  After a short while, the symbol
  40. index file `total' will be produced.  Now, to use this index:
  41.  
  42.     $ read total
  43.  
  44. You will be prompted for a symbol name.  Enter a symbol (like "rastport")
  45. and the reader will look up and list the definition for you.
  46.  
  47. Notes:
  48. ------
  49. This is a very early beta version of these programs.  I may be enhancing
  50. them in the future.  If you find yourself using these, you can send
  51. me $25 at
  52.  
  53.             Scott Evernden
  54.             9 Courtland St
  55.             Holliston, MA 01746
  56.  
  57. to ensure that I will.
  58.  
  59. ...............
  60. gen
  61.  
  62. Takes a -d switch meaning
  63.     "don't compile #define's"
  64.  
  65. Takes a -h switch meaning
  66.     "skip the check for a filename not ending in '.h'"
  67.  
  68. Expects to read the names of files from `stdin'.  You can do this by hand,
  69. ending with a blank line; or you can redirect in a listing file, such as
  70. the `all' file provided.
  71.  
  72. The `gen' program is not perfect.  It does work for me on my copies of
  73. the header files.  It has not been extensively tested.  It just might
  74. fail on funny-looking header files with peculiar layouts.  I have not
  75. tried this program on the fully-commented Amiga header files, although
  76. it SHOULD work fine.
  77.  
  78. I know it can't handle this form properly:
  79. struct alpha {
  80.     struct beta {
  81.     }
  82. };
  83. Only `alpha' is seen; symbol `beta' will not be seen.  This means that
  84. symbols like "SpriteDef" and "AudChannel" are missing since they are
  85. defined this way in "hardware/custom.h".  I was lazy; maybe I fix later.
  86.  
  87. For straight value-less symbol definition as in
  88. #define LIBRARIES_DOS_H
  89. the symbol will not be enterred. 
  90.  
  91. ...............
  92. read
  93.  
  94. If you enter a symbol which is NOT in the header files originally scanned,
  95. the `read' program may show you a definition for a symbol other than what
  96. you typed.  This is simply an artifact of the way the index file is
  97. constructed.
  98.  
  99. Type a blank line to end.
  100.  
  101. Symbols are dealt with in a case-insensitive fashion. "newwindow", 
  102. "NewWindow", and "NEWWINDow" will all get you to the same place.
  103.  
  104. This is the program your dollars will talk me into enhancing.
  105.